home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Communication / System-X / SX / Developer / SASC / Example1.c next >
C/C++ Source or Header  |  1998-06-24  |  2KB  |  91 lines

  1. /*
  2.  
  3. ----------------------------------------------------
  4. Programming doors for System-X using AEDoor.library.
  5. ----------------------------------------------------
  6.  
  7. */
  8.  
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11. #include <string.h>
  12. #include <libraries/aedoor.h>
  13. #include <proto/aedoor.h>
  14. #include <proto/exec.h>
  15.  
  16. struct    Library    *AEDBase;
  17.  
  18. struct    DIFace    *d;
  19. char    *strf,*res,usern[50],str[256],location[100];
  20. long c=0;
  21. BOOL sx;
  22.  
  23. void PS(char *str);
  24.  
  25. main(argc, argv)
  26. int argc;
  27. char *argv[];
  28. {
  29.     if((AEDBase=(struct Library *)OpenLibrary(AEDoorName,0))==NULL)
  30.     {
  31.         exit(10);
  32.     }
  33.     d=CreateComm(argv[1][0]);    /* Establish link with /X */
  34.  
  35.     strf= GetString(d);        /* Get a pointer to the JHM_String  */
  36.                     /* field. Only need to do this once */
  37.  
  38.     if(strcmp(strf,"SX")==0) sx=TRUE; else sx=FALSE; /* find out if we are under SYSTEM-X or AmiExpress */
  39.  
  40.     if(sx) {
  41.         PS("\r\nThis door is running under System-X!\r\n\r\n");
  42.     } else {
  43.         PS("\r\nThis door is running under AmiExpress!\r\n\r\n");
  44.     }
  45.  
  46.     GetDT(d,DT_NAME,0);        /* Get USER name, no string input   */
  47.                     /* here, so use 0 as last parameter */
  48.     strcpy(usern,strf);        /* Copy result from JHM_String to   */
  49.                     /* our own string. Don't forget this*/
  50.     GetDT(d,DT_LOCATION,0);
  51.     strcpy(location,strf);
  52.  
  53.     PS("User name : ");        /* Write some text */
  54.     PS(usern);
  55.     PS("\r\nLocation  : ");
  56.     PS(location);
  57.     PS("\r\n");
  58.  
  59.     GetDT(d,DT_DUMP,"T:user.dump");        /* Dump user's data struct */
  60.  
  61.     if( (res=Prompt(d,80,"\nGimme some input: ")) )
  62.     {                        /* Ask some input */
  63.         strcpy(str,res);
  64.         PS("Entered: ");
  65.         PS(str);
  66.         PS("\r\n");
  67.         if( (res=GetStr(d,3,"YES")) )
  68.         {
  69.             if(!strcmp(res,"YES"))
  70.             {
  71.                 ShowFile(d,"S:User-Startup");
  72.                 ShowGFile(d,"BBS:BULL30");
  73.             }
  74.         }
  75.         else PS("\r\n\r\nLOST CARRIER!\r\n");
  76.  
  77.     }
  78.     else PS("\r\n\r\nLOST CARRIER!\r\n");
  79.  
  80.     DeleteComm(d);
  81.     CloseLibrary(AEDBase);
  82. }
  83.  
  84. void PS(char *str)
  85. {
  86.     if(sx)
  87.         SendStrDataCmd(d, 1500, 0, (long)str);
  88.     else
  89.         WriteStr(d, str, NOLF);
  90. }
  91.